iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
自我挑戰組

從零開始的工程師轉職之路.新手學Ruby / Ruby on Rails遇到的問題系列 第 17

Day17-[Ruby]存取限制比一比.Public, Protected, Private的比較(Part II)

  • 分享至 

  • xImage
  •  

Day17-[Ruby]存取限制比一比.Public, Protected, Private的比較(Part II)

今天我們繼續來看看,甚麼是 Private?

Private(私人的)

相對於public,
不可以直接存取,

class Cat
  private
  def eat
    puts "eating..."
  end
end

kitty = Cat.new
kitty.eat  #錯誤訊息

也不能有明確的接收者,
因此在呼叫方法時不能有.小數點

class Cat
  def do_eat
    eat           #沒有接收者
  end
  
  private
  def eat
    puts "eating..."
  end
end

kitty = Cat.new
kitty.do_eat 

不過在ruby的世界裡,
還可以用send方法來呼叫成功喔!

class Cat
  private
  def eat
    puts "eating..."
  end
end

kitty = Cat.new
kitty.send(:eat) 

有沒有覺得在ruby的世界,
好像很多規矩都可以被打破呢?

tags: Ruby private

上一篇
Day16-[Ruby]存取限制比一比.Public, Protected, Private的比較(Part I)
下一篇
Day18-[Ruby]block是什麼?
系列文
從零開始的工程師轉職之路.新手學Ruby / Ruby on Rails遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言